package com.portal.file.service;

import com.portal.common.core.web.domain.AjaxResult;
import com.portal.file.domain.upload.FileChunkDTO;
import com.portal.file.domain.upload.FileChunkResultDTO;

import java.io.IOException;

public interface UploadService {
//    /**
//     * 删除minio分片文件
//     *
//     * @return Boolean ture成功，false是失败
//     */
//    public Boolean delSliceFile(String objectName, Integer totalPieces);


    /**
     * 检查文件是否存在，如果存在则跳过该文件的上传，如果不存在，返回需要上传的分片集合
     * @param chunkDTO
     * @return
     */
    FileChunkResultDTO checkChunkExist(FileChunkDTO chunkDTO);

    /**
     * 上传文件分片
     * @param chunkDTO
     */
    Boolean uploadChunk(FileChunkDTO chunkDTO) throws IOException;

    /**
     * 合并文件分片
     * @param identifier 文件唯一标志
     * @param fileName 文件名称
     * @param totalChunks 分片总数
     * @return
     */
    AjaxResult mergeChunk(String identifier,String fileName,Integer totalChunks);

}
